#include <iostream>
#include <memory>
#include <string>
#include "udp_server.hpp"
#include "err.h"

using namespace std;
using namespace udp_server;
//./server port
void Usage(string u)
{
     cout<<"Usage:\n\t"<<u<<" port"<<endl; 
}
int main(int argv,char* argc[])
{
    // UdpServer s;
    // cout<<"me is server"<<endl;
    /*使用说明*/
    if(argv != 2)
    {
        Usage(argc[0]);
        exit(USAGE_ERROR);
    }
    uint16_t port = atoi(argc[1]);  //将字符串转化为数字端口号
    cout<<"port:"<<port<<endl;
     //1.使用智能指针管理服务器类：当智能指针被释放，类也被释放
    unique_ptr<UdpServer> usvr(new UdpServer(port));

    //2.服务器初始化
    usvr->InitServer();
    //3.启动服务器
    usvr->Start();

    return 0;
}